package com.integralPerformance.service;

import com.integralPerformance.common.Result;
import com.integralPerformance.pojo.entity.ServiceInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.integralPerformance.pojo.excel.ServiceInfoExcel;
import com.integralPerformance.pojo.form.add.AddServiceInfo;
import com.integralPerformance.pojo.form.update.UpdateServiceInfo;
import com.integralPerformance.pojo.query.GetMyServiceInfoQuery;
import com.integralPerformance.pojo.query.ServiceInfoQuery;
import com.integralPerformance.pojo.vo.BaseVo;
import com.integralPerformance.pojo.vo.ExportServiceInfoVo;
import com.integralPerformance.pojo.vo.ServiceInfoByNameAndYearVo;
import com.integralPerformance.pojo.vo.ServiceInfoVo;

import java.util.List;

/**
* @author admin
* @description 针对表【service_info(公共服务信息维护)】的数据库操作Service
* @createDate 2024-03-14 17:04:57
*/
public interface ServiceInfoService extends IService<ServiceInfo> {

    Result<BaseVo<ServiceInfoVo>> getServiceInfo(ServiceInfoQuery serviceInfoQuery);

    Result<String> addServiceInfo(AddServiceInfo addServiceInfo);

    Result<String> deleteServiceInfoById(String id);

    Result<String> deleteServiceInfoByIds(List<Long> ids);

    Result<String> updateServiceInfo(UpdateServiceInfo updateServiceInfo);

    Result<BaseVo<ServiceInfoVo>> getServiceInfoById(GetMyServiceInfoQuery getMyServiceInfoQuery);

    Result<List<ServiceInfoVo>> getServiceInfoByTeacherId(String teacherId);

    boolean judge(ServiceInfoExcel serviceInfoExcel);

    List<Integer> saveList(List<ServiceInfoExcel> cachedDataList);

    List<ServiceInfoVo> getSaveDataIdList(List<Integer> saveDataIdList);

    List<ExportServiceInfoVo> downloadByBatch(ServiceInfoQuery serviceInfoQuery);

    Result<BaseVo<ServiceInfoByNameAndYearVo>> getServiceInfoByTree(ServiceInfoQuery serviceInfoQuery);
}
